Skip to content

feat(tui): compact shell progress output#35305

Open
ibakaidov wants to merge 2 commits into
anomalyco:devfrom
ibakaidov:shell-progress-viewer-template
Open

feat(tui): compact shell progress output#35305
ibakaidov wants to merge 2 commits into
anomalyco:devfrom
ibakaidov:shell-progress-viewer-template

Conversation

@ibakaidov

Copy link
Copy Markdown

Issue for this PR

Closes #35246

Type of change

  • Bug fix
  • New feature
  • Refactor / code improvement
  • Documentation

What does this PR do?

Shell commands that redraw progress on one terminal line, like Python tqdm, can spam repeated carriage-return frames into the TUI and final tool output.

This adds a small shell progress parser, publishes bounded semantic progress snapshots through the existing Tool.Progress event, compacts repeated progress frames from final bash output, and renders running shell progress as a compact TUI progress line.

Ordinary shell output is preserved when no repeated progress frames are detected.

How did you verify your code works?

  • npm exec --yes bun@1.3.14 -- --cwd packages/core test test/tool-shell-progress.test.ts test/tool-bash.test.ts test/session-tool-progress.test.ts
  • npm exec --yes bun@1.3.14 -- run typecheck --filter @opencode-ai/core
  • npm exec --yes bun@1.3.14 -- run typecheck --filter @opencode-ai/tui
  • pre-push hook: bun turbo typecheck

Screenshots / recordings

Not included. This is a terminal TUI rendering change; the parser/output behavior is covered by tests and the TUI path by typecheck.

Checklist

  • I have tested my changes locally
  • I have not included unrelated changes in this PR

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Shell progress bars spam TUI output and context

1 participant